package com.gqh.weather.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gqh.weather.domain.dto.PcSubTaskListDataDTO;
import com.gqh.weather.domain.entity.PcSubtask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @description PC端子任务管理数据访问接口
 * @author AI
 * @date 2025-09-21
 */
@Mapper
public interface PcSubtaskMapper extends BaseMapper<PcSubtask> {
    
    /**
     * 查询PC子任务列表并附带任务信息
     * 
     * @param page 分页对象
     * @param uid 用户ID
     * @param keyword 关键字
     * @param pids pids
     * @return 分页结果对象
     */
    Page<PcSubTaskListDataDTO> selectPcSubtaskListWithTaskInfo(@Param("page") Page<PcSubTaskListDataDTO> page,
                                                               @Param("uid") Integer uid,
                                                               @Param("keyword") String keyword,
                                                               @Param("pids") List<Integer> pids);

    /**
     * 查询PC子任务详情并附带任务信息
     * 
     * @param id PC子任务ID
     * @return PC子任务详情数据传输对象
     */
    PcSubTaskListDataDTO selectPcSubtaskInfoWithTaskInfo(@Param("id") Integer id);

    @Select("select * from zh_pc_subtask where taskpid = #{id}")
    PcSubtask selectByPid(Integer id);
}